package com.telcordia.cvas.rpn;

import java.util.Stack;

public class OperandStack {
	private Stack<Integer> values = new Stack<Integer>();

	public int peek() {
		return values.size() > 0 ? values.peek() : 0;
	}

	public int pop() {
		int result = 0;
		
		if (values.size() > 0) {
			result = values.peek();
			values.pop();
		}
		
		return result;
	}

	public void push(int value) {
		values.push(value);
	}

	public void replaceTop(int value) {
		pop();
		values.push(value);
	}

	public int size() {
		return values.size();
	}

	public int[] getStack() {
		int result[] = new int[values.size()];
		
		for(int i = 0; i < values.size(); ++i)
			result[i] = values.elementAt(i);
		
		return result;
	}
}
